package fiscal;

// Generated 10/07/2009 10:49:54 by Hibernate Tools 3.2.0.b9

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * Municipio generated by hbm2java
 */
@Entity
@Table(name = "TBMUNICIPIO")
public class FiscalMunicipio implements java.io.Serializable {

	private Long id;
	private String nome;
	private Long codigoMunicipio;
	private String uf;
	private List<FiscalTicket> ticketsForDestinoMercadoria = new ArrayList<FiscalTicket>(0);
	private List<FiscalUnidadeFiscal> unidadeFiscals = new ArrayList<FiscalUnidadeFiscal>(0);
	private List<FiscalTicket> ticketsForOrigemMercadoria = new ArrayList<FiscalTicket>(0);

	public FiscalMunicipio() {
	}

	public FiscalMunicipio(Long id) {
		this.id = id;
	}

	public FiscalMunicipio(Long id, String nome, Long codigoMunicipio, String uf, List<FiscalTicket> ticketsForDestinoMercadoria,
			List<FiscalUnidadeFiscal> unidadeFiscals, List<FiscalTicket> ticketsForOrigemMercadoria) {
		this.id = id;
		this.nome = nome;
		this.codigoMunicipio = codigoMunicipio;
		this.uf = uf;
		this.ticketsForDestinoMercadoria = ticketsForDestinoMercadoria;
		this.unidadeFiscals = unidadeFiscals;
		this.ticketsForOrigemMercadoria = ticketsForOrigemMercadoria;
	}

	@Id
	@SequenceGenerator(name = "CCO_SEQ", sequenceName = "CCO_SEQ", allocationSize = 1) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "CCO_SEQ") 
	@Column(name = "MUNICIPIO_ID", unique = true, nullable = false, precision = 38, scale = 0)
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "NOME", length = 50)
	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	@Column(name = "CODIGO_MUNICIPIO", precision = 38, scale = 0)
	public Long getCodigoMunicipio() {
		return this.codigoMunicipio;
	}

	public void setCodigoMunicipio(Long codigoMunicipio) {
		this.codigoMunicipio = codigoMunicipio;
	}

	@Column(name = "UF", length = 2)
	public String getUf() {
		return this.uf;
	}

	public void setUf(String uf) {
		this.uf = uf;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "municipioByDestinoMercadoria")
	public List<FiscalTicket> getTicketsForDestinoMercadoria() {
		return this.ticketsForDestinoMercadoria;
	}

	public void setTicketsForDestinoMercadoria(List<FiscalTicket> ticketsForDestinoMercadoria) {
		this.ticketsForDestinoMercadoria = ticketsForDestinoMercadoria;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "municipio")
	public List<FiscalUnidadeFiscal> getUnidadeFiscals() {
		return this.unidadeFiscals;
	}

	public void setUnidadeFiscals(List<FiscalUnidadeFiscal> unidadeFiscals) {
		this.unidadeFiscals = unidadeFiscals;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "municipioByOrigemMercadoria")
	public List<FiscalTicket> getTicketsForOrigemMercadoria() {
		return this.ticketsForOrigemMercadoria;
	}

	public void setTicketsForOrigemMercadoria(List<FiscalTicket> ticketsForOrigemMercadoria) {
		this.ticketsForOrigemMercadoria = ticketsForOrigemMercadoria;
	}

	// The following is extra code specified in the hbm.xml files
	private static final long serialVersionUID = 1L;
	// end of extra code specified in the hbm.xml files

}
